package general;

import conexion.CConexion;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class CPr100 extends CConexion {

    private String compania = null;

    public CPr100() {
        super();
        compania = login.getCompaniaActual();
    }

    public ResultSet buscarProveedores() throws SQLException {
        Statement stncBuscarProveedores = this.getConexion().createStatement();
        String sqlBuscarProveedores = "select distinct(pr100nopr) from pr100 where pr100nocia = '" + compania + "' order by pr100nopr";
        ResultSet rsBuscarProveedores = stncBuscarProveedores.executeQuery(sqlBuscarProveedores);
        return rsBuscarProveedores;
    }

    public ResultSet buscarProveedores(String proveedor) throws SQLException {
        Statement stncBuscarProveedores = this.getConexion().createStatement();
        String sqlBuscarProveedores = "select * from pr100 where pr100nocia = '" + compania + "'";
        if (!proveedor.isEmpty()) {
            sqlBuscarProveedores += " and pr100nopr like '%" + proveedor + "%'";
        }
        sqlBuscarProveedores += " order by pr100copr";
        ResultSet rsBuscarProveedores = stncBuscarProveedores.executeQuery(sqlBuscarProveedores);
        return rsBuscarProveedores;
    }

    public ResultSet buscarProveedorPorCodigo(String codigo) throws SQLException {
        Statement stncBuscarProveedores = this.getConexion().createStatement();
        String sqlBuscarProveedores = "select * from pr100 where pr100nocia = '" + compania + "' and pr100copr= '" + codigo + "'";
        ResultSet rsBuscarProveedores = stncBuscarProveedores.executeQuery(sqlBuscarProveedores);
        return rsBuscarProveedores;
    }

    public ResultSet buscarProveedores(String codigo, String nombre) throws SQLException {
        Statement stncBuscarProveedores = this.getConexion().createStatement();
        String sqlBuscarProveedores = "select * from pr100 where pr100nocia = '" + compania + "'";
        if (!codigo.isEmpty()) {
            sqlBuscarProveedores += " and pr100copr = '" + codigo + "'";
        }
        if (!nombre.isEmpty()) {
            sqlBuscarProveedores += " and pr100nopr like '%" + nombre + "%'";
        }
        sqlBuscarProveedores += " order by pr100copr";
        ResultSet rsBuscarProveedores = stncBuscarProveedores.executeQuery(sqlBuscarProveedores);
        return rsBuscarProveedores;
    }

    public String grupoDeProveedor(String codigoProveedor) throws SQLException {
        String sqlGrupo = "select pr100grpp from pr100 where pr100copr='" + codigoProveedor + "'";
        Statement stncGrupo = this.getConexion().createStatement();
        ResultSet rsGrupo = stncGrupo.executeQuery(sqlGrupo);
        rsGrupo.next();
        String grupo = rsGrupo.getString("pr100grpp");
        return grupo;
    }

    public String codigoProveedorPorDescripcion(String descripcion) throws SQLException {
        String sqlCodigo = "select pr100copr from pr100 where pr100nocia = '" + compania + "' and pr100nopr = '" + descripcion + "'";
        Statement stncCodigo = this.getConexion().createStatement();
        ResultSet rsCodigo = stncCodigo.executeQuery(sqlCodigo);
        rsCodigo.next();
        String codigo = rsCodigo.getString("pr100copr");
        rsCodigo.close();
        stncCodigo.close();
        return codigo;
    }
}
